package com.changpay.zywy.ui.activity.login

import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.widget.ImageView

import cn.bingoogolapple.bgabanner.BGABanner
import cn.bingoogolapple.bgabanner.BGALocalImageSize
import com.changpay.zywy.R
import com.changpay.zywy.constant.Constant
import com.changpay.zywy.utils.Preference

class GuideActivity : Activity() {
    private var mBackgroundBanner: BGABanner? = null
    //    private BGABanner mForegroundBanner;

    private var isFirst: Boolean by Preference(Constant.IS_FIRST, true)

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        initView()
        setListener()
        processLogic()
    }

    private fun initView() {
        setContentView(R.layout.activity_guide)
        mBackgroundBanner = findViewById(R.id.banner_guide_background)
    }

    private fun setListener() {
        /**
         * 设置进入按钮和跳过按钮控件资源 id 及其点击事件
         * 如果进入按钮和跳过按钮有一个不存在的话就传 0
         * 在 BGABanner 里已经帮开发者处理了防止重复点击事件
         * 在 BGABanner 里已经帮开发者处理了「跳过按钮」和「进入按钮」的显示与隐藏
         */
        mBackgroundBanner!!.setEnterSkipViewIdAndDelegate(R.id.btn_guide_enter, R.id.tv_guide_skip) {
            startActivity(Intent(this@GuideActivity, LoginActivity::class.java))
            isFirst = false
            finish()
        }
    }

    private fun processLogic() {
        // Bitmap 的宽高在 maxWidth maxHeight 和 minWidth minHeight 之间
        val localImageSize = BGALocalImageSize(3000, 3000, 320f, 640f)
        // 设置数据源
        mBackgroundBanner!!.setData(
            localImageSize, ImageView.ScaleType.CENTER_CROP,
            R.mipmap.uoko_guide_background_1,
            R.mipmap.uoko_guide_background_2,
            R.mipmap.uoko_guide_background_3,
            R.mipmap.uoko_guide_background_4
        )
    }

    override fun onResume() {
        super.onResume()

        // 如果开发者的引导页主题是透明的，需要在界面可见时给背景 Banner 设置一个白色背景，避免滑动过程中两个 Banner 都设置透明度后能看到 Launcher
        mBackgroundBanner!!.setBackgroundResource(android.R.color.white)
    }

    companion object {
        private val TAG = GuideActivity::class.java.simpleName
    }
}